home *** CD-ROM | disk | FTP | other *** search
/ MacWorld: Photoshop 5 Bible Book Companion / Ph5 Bible.mdf / pc / PC MacLAN / PC MacLAN for NT / PMAC_40a.exe / SERVICES / DEFPRTR.PPD < prev    next >
PostScript Printer Description  |  1995-05-23  |  11KB  |  338 lines

  1. *PPD-Adobe: "4.0"
  2. *% Adobe Systems PostScript(R) Printer Description File
  3. *% Copyright 1988-1992 Adobe Systems Incorporated. 
  4. *% All Rights Reserved.
  5. *% Permission is granted for redistribution of this file as
  6. *% long as this copyright notice is intact and the contents
  7. *% of the file is not altered in any way from its original form.
  8. *%
  9. *FormatVersion: "4.0"
  10. *FileVersion: "3.0"
  11. *PCFileName: "DEFPRTR.PPD"
  12. *LanguageVersion: English
  13. *Product: "(Adobe Default Printer)"
  14. *PSVersion: "(23.0) 0"
  15. *ModelName: "Adobe Default Printer"
  16. *NickName: "Adobe Default Printer"
  17.  
  18. *% General Information and Defaults ===============
  19. *ColorDevice: False
  20. *DefaultColorSpace: Gray
  21. *FreeVM: "173936"
  22. *LanguageLevel: "1"
  23. *VariablePaperSize: False
  24. *FileSystem: False
  25. *Throughput: "8"
  26. *Password: "0"
  27. *ExitServer: "
  28.   count 0 eq {  % is the password on the stack?
  29.     true
  30.   }{
  31.     dup    % potential password
  32.     statusdict /checkpassword get exec not
  33.   } ifelse
  34.   {  %  if no password or not valid
  35.     (WARNING : Cannot perform the exitserver command.) =
  36.     (Password supplied is not valid.) =
  37.     (Please contact the author of this software.) = flush
  38.     quit
  39.   } if
  40.   serverdict /exitserver get exec
  41. "
  42. *End
  43.  
  44. *Reset: "
  45.   count 0 eq {  % is the password on the stack?
  46.     true
  47.   }{
  48.     dup    % potential password
  49.     statusdict /checkpassword get exec not
  50.   } ifelse
  51.   {  %  if no password or not valid
  52.     (WARNING : Cannot reset printer.) =
  53.     (Password supplied is not valid.) =
  54.     (Please contact the author of this software.) = flush
  55.     quit
  56.   } if
  57.   serverdict /exitserver get exec
  58.   systemdict /quit get exec
  59.   (WARNING : Printer Reset Failed.) = flush
  60. "
  61. *End
  62.  
  63. *DefaultResolution: 300dpi
  64. *?Resolution: "
  65. save
  66.   initgraphics
  67.   0 0 moveto currentpoint matrix defaultmatrix transform
  68.   0 72 lineto currentpoint matrix defaultmatrix transform
  69.   3 -1 roll sub dup mul
  70.   3 1 roll exch sub dup mul
  71.   add sqrt round cvi
  72.   (          ) cvs print (dpi) = flush
  73. restore
  74. "
  75. *End
  76.  
  77. *% Halftone Information ===============
  78. *ScreenFreq: "60.0"
  79. *ScreenAngle: "45.0"
  80. *DefaultScreenProc: Dot
  81. *ScreenProc Dot: "
  82. {dup mul exch dup mul add 1.0 exch sub }
  83. "
  84. *End
  85. *ScreenProc Line: "{ pop }"
  86. *ScreenProc Ellipse: "{ dup 5 mul 8 div mul exch dup mul exch add sqrt 1 exch sub }"
  87.  
  88. *DefaultTransfer: Null
  89. *Transfer Null: "{ }"
  90. *Transfer Null.Inverse: "{ 1 exch sub }"
  91.  
  92. *% Paper Handling ===================
  93. *% Use these entries to set paper size most of the time, unless there is
  94. *% specific reason to use PageRegion.
  95. *OpenUI *PageSize: PickOne
  96. *OrderDependency: 30 AnySetup *PageSize
  97. *DefaultPageSize: Letter
  98. *PageSize Letter: "letter"
  99. *PageSize Legal: "legal"
  100. *PageSize A4: "a4"
  101. *PageSize B5: "b5"
  102. *?PageSize: "
  103. save
  104.   [(Letter)(Legal)] statusdict /pagetype get exec
  105.   {get} stopped { pop pop (Unknown)} if = flush
  106. restore
  107. "
  108. *End
  109. *CloseUI: *PageSize
  110.  
  111. *% These entries will set up the frame buffer. Usually used with manual feed.
  112. *OpenUI *PageRegion: PickOne
  113. *OrderDependency: 40 AnySetup *PageRegion
  114. *DefaultPageRegion: Letter
  115. *PageRegion Letter: "letter"
  116. *PageRegion Legal: "legal"
  117. *PageRegion A4: "a4"
  118. *PageRegion B5: "b5"
  119. *CloseUI: *PageRegion
  120.  
  121. *% The following entries provide information about specific paper keywords.
  122. *DefaultImageableArea: Letter
  123. *ImageableArea Letter: "18 8 593 784 "
  124. *ImageableArea Legal: "65 42 547 966 "
  125. *ImageableArea A4: "17.28 22.08 577.68 819.84 "
  126. *ImageableArea B5: "2.64 3.12 497.76 705.6 "
  127. *?ImageableArea: "
  128. save
  129.   /cvp {(                ) cvs print ( ) print } bind def
  130.   /upperright {10000 mul floor 10000 div} bind def
  131.   /lowerleft {10000 mul ceiling 10000 div} bind def
  132.   newpath clippath pathbbox
  133.   4 -2 roll exch 2 {lowerleft cvp} repeat
  134.   exch 2 {upperright cvp} repeat flush
  135.  restore
  136. "
  137. *End
  138.  
  139. *% These provide the physical dimensions of the paper (by keyword)
  140. *DefaultPaperDimension: Letter
  141. *PaperDimension Letter: "612 792"
  142. *PaperDimension Legal: "612 1008"
  143. *PaperDimension A4: "595 842"
  144. *PaperDimension B5: "516 729"
  145.  
  146. *RequiresPageRegion All: True
  147. *OpenUI *InputSlot: PickOne
  148. *OrderDependency: 20 AnySetup *InputSlot
  149. *DefaultInputSlot: Cassette
  150. *InputSlot Cassette: ""
  151. *CloseUI: *InputSlot
  152.  
  153. *OpenUI *ManualFeed: Boolean
  154. *OrderDependency: 20 AnySetup *ManualFeed
  155. *DefaultManualFeed: False
  156. *ManualFeed True: "statusdict /manualfeed true put"
  157. *ManualFeed False: "statusdict /manualfeed false put"
  158. *?ManualFeed: "
  159. save
  160.  statusdict /manualfeed get {(True)}{(False)}ifelse = flush
  161. restore
  162. "
  163. *End
  164. *CloseUI: *ManualFeed
  165.  
  166. *DefaultOutputOrder: Reverse
  167.  
  168. *% Font Information =====================
  169. *DefaultFont: Courier
  170. *Font Courier: Standard "(001.000)" Standard ROM
  171. *Font Courier-Bold: Standard "(001.000)" Standard ROM
  172. *Font Courier-BoldOblique: Standard "(001.000)" Standard ROM
  173. *Font Courier-Oblique: Standard "(001.000)" Standard ROM
  174. *Font Helvetica: Standard "(001.001)" Standard ROM
  175. *Font Helvetica-Bold: Standard "(001.001)" Standard ROM
  176. *Font Helvetica-BoldOblique: Standard "(001.000)" Standard ROM
  177. *Font Helvetica-Oblique: Standard "(001.000)" Standard ROM
  178. *Font Symbol: Special "(001.001)" Special ROM
  179. *Font Times-Bold: Standard "(001.001)" Standard ROM
  180. *Font Times-BoldItalic: Standard "(001.001)" Standard ROM
  181. *Font Times-Italic: Standard "(001.001)" Standard ROM
  182. *Font Times-Roman: Standard "(001.000)" Standard ROM
  183. *?FontQuery: "
  184. save
  185.  /str 100 string dup 0 (fonts/) putinterval def
  186.  {
  187.    count 1 gt
  188.    {
  189.      exch dup str 6 94 getinterval cvs
  190.      (/) print print (:) print
  191.      FontDirectory exch known
  192.      {(Yes)}{(No)} ifelse =
  193.    }
  194.    {exit} ifelse
  195.  }bind loop
  196.  (*) = flush
  197. restore
  198. "
  199. *End
  200.  
  201. *?FontList: "
  202. save
  203.   FontDirectory { pop == } bind flush forall (*) = flush
  204. restore
  205. "
  206. *End
  207.  
  208. *% Printer Messages (verbatim from printer):
  209. *Message: "%%[ exitserver: permanent state may be changed ]%%"
  210. *Message: "%%[ Flushing: rest of job (to end-of-file) will be ignored ]%%"
  211. *Message: "\FontName\ not found, using Courier"
  212.  
  213. *% Status (format: %%[ status: <one of these> ]%% )
  214. *Status: "idle"
  215. *Status: "busy"
  216. *Status: "waiting"
  217. *Status: "printing"
  218. *Status: "PrinterError: timeout, clearing printer"
  219. *Status: "PrinterError: timeout"
  220. *Status: "PrinterError: no toner cartridge"
  221. *Status: "PrinterError: service call"
  222. *Status: "PrinterError: paper entry misfeed"
  223. *Status: "PrinterError: no paper tray"
  224. *Status: "PrinterError: out of paper"
  225. *Status: "PrinterError: cover open"
  226. *Status: "PrinterError: resetting printer"
  227. *Status: "PrinterError: manual feed timeout"
  228. *Status: "PrinterError: warming up"
  229.  
  230. *% Input Sources (format: %%[ status: <stat>; source: <one of these> ]%% )
  231. *Source: "serial9"
  232. *Source: "serial25"
  233. *Source: "AppleTalk"
  234.  
  235. *% Printer Error (format: %%[ PrinterError: <one of these> ]%%)
  236. *PrinterError: "timeout, clearing printer"
  237. *PrinterError: "timeout"
  238. *PrinterError: "no toner cartridge"
  239. *PrinterError: "service call"
  240. *PrinterError: "paper entry misfeed"
  241. *PrinterError: "no paper tray"
  242. *PrinterError: "out of paper"
  243. *PrinterError: "cover open"
  244. *PrinterError: "resetting printer"
  245. *PrinterError: "manual feed timeout"
  246. *PrinterError: "warming up"
  247.  
  248. *%DeviceAdjustMatrix: "[1 0 0 1 0 0]"
  249.  
  250. *% Color Separation Information =====================
  251.  
  252. *DefaultColorSep: ProcessBlack.60lpi.300dpi/60 lpi / 300 dpi
  253.  
  254. *InkName: ProcessBlack/Process Black
  255. *InkName: CustomColor/Custom Color
  256. *InkName: ProcessCyan/Process Cyan
  257. *InkName: ProcessMagenta/Process Magenta
  258. *InkName: ProcessYellow/Process Yellow
  259.  
  260. *% For 60 lpi / 300 dpi =====================================================
  261.  
  262. *ColorSepScreenAngle ProcessBlack.60lpi.300dpi/60 lpi / 300 dpi: "45"
  263. *ColorSepScreenAngle CustomColor.60lpi.300dpi/60 lpi / 300 dpi: "45"
  264. *ColorSepScreenAngle ProcessCyan.60lpi.300dpi/60 lpi / 300 dpi: "15"
  265. *ColorSepScreenAngle ProcessMagenta.60lpi.300dpi/60 lpi / 300 dpi: "75"
  266. *ColorSepScreenAngle ProcessYellow.60lpi.300dpi/60 lpi / 300 dpi: "0"
  267.  
  268. *ColorSepScreenFreq ProcessBlack.60lpi.300dpi/60 lpi / 300 dpi: "60"
  269. *ColorSepScreenFreq CustomColor.60lpi.300dpi/60 lpi / 300 dpi: "60"
  270. *ColorSepScreenFreq ProcessCyan.60lpi.300dpi/60 lpi / 300 dpi: "60"
  271. *ColorSepScreenFreq ProcessMagenta.60lpi.300dpi/60 lpi / 300 dpi: "60"
  272. *ColorSepScreenFreq ProcessYellow.60lpi.300dpi/60 lpi / 300 dpi: "60"
  273.  
  274. *% For 53 lpi / 300 dpi =====================================================
  275.  
  276. *ColorSepScreenAngle ProcessBlack.53lpi.300dpi/53 lpi / 300 dpi: "45.0"
  277. *ColorSepScreenAngle CustomColor.53lpi.300dpi/53 lpi / 300 dpi: "45.0"
  278. *ColorSepScreenAngle ProcessCyan.53lpi.300dpi/53 lpi / 300 dpi: "71.5651"
  279. *ColorSepScreenAngle ProcessMagenta.53lpi.300dpi/53 lpi / 300 dpi: "18.4349"
  280. *ColorSepScreenAngle ProcessYellow.53lpi.300dpi/53 lpi / 300 dpi: "0.0"
  281.  
  282. *ColorSepScreenFreq ProcessBlack.53lpi.300dpi/53 lpi / 300 dpi: "53.033"
  283. *ColorSepScreenFreq CustomColor.53lpi.300dpi/53 lpi / 300 dpi: "53.033"
  284. *ColorSepScreenFreq ProcessCyan.53lpi.300dpi/53 lpi / 300 dpi: "47.4342"
  285. *ColorSepScreenFreq ProcessMagenta.53lpi.300dpi/53 lpi / 300 dpi: "47.4342"
  286. *ColorSepScreenFreq ProcessYellow.53lpi.300dpi/53 lpi / 300 dpi: "50.0"
  287.  
  288. *% This patch file inserts a delay before manualfeed to fix a bug
  289. *% in the version 23 LaserWriter.
  290. *JobPatchFile 1/ManualFeedDelay: "
  291. save 
  292. /version23-manualfeedpatch where { pop false } { true }ifelse
  293.  % we don't do an explicit 'get' since product and version MAY
  294.  % be in systemdict or statusdict - this technique gets the lookup
  295.  % without failure
  296. statusdict begin
  297.   product (LaserWriter) eq        % true if LaserWriter
  298.   version cvr 23.0 eq             % true if version 23
  299. end
  300.  
  301. and  % only install this patch if both are true
  302. and  % true only if patch is not installed and is for this printer
  303.      % save object and boolean on stack
  304. dup { exch restore }if
  305. % either true OR saveobject false
  306. dup
  307. {
  308.   /version23-manualfeedpatch true def
  309.   /oldversion23-showpage /showpage load def
  310.   /showpage       % this showpage will wait extra time if manualfeed is true
  311.   {%
  312.      statusdict /manualfeed known
  313.      {% manualfeed known in statusdict
  314.         statusdict /manualfeed get
  315.         {% if true then we loop for 5 seconds
  316.            usertime 5000 add       % target usertime
  317.            { % loop
  318.              dup usertime sub 0 lt
  319.              { exit }if
  320.            }loop
  321.            pop             % pop the usertime off the stac
  322.         }if
  323.      }if
  324.      oldversion23-showpage
  325.   }bind def
  326. }if
  327. not{ restore }if
  328. "
  329. *End
  330.  
  331. *% For "LaserWriter" version 23.0
  332. *% Produced by "GETapd.ps" version 2.0 edit 45
  333. *% Converted to meet 4.0 specification
  334. *% Last Edit Date: 27 Feb 1992
  335. *% The byte count of this file should be exactly 010306 or 010635
  336. *% depending on the filesystem it resides in.
  337. *% end of PPD file for LaserWriter
  338.